Ulozenie dokumentu z Wordu priamo do BLOBu

Otázka od: martin

11. 6. 2004 12:44

Dobry den,
citam/zapisujem wordovske dokumenty z/do databazy Firebird 1.5 cez
BLOBy.
Malo by to fungovat tak, ze uzivatel vidi zoznam dokumentov, po
kliknuti na tlacitko "otvorit" sa dokument otvori priamo vo Worde.
ALE NEULOZI SA NA DISK ZIADEN SUBOR DOC /maximalne nejaky tmp
Uzivatel edituje.
// --- kriticka sekcia
A teraz stlaci VO WORDE - ULOZIT ...a tu potrebujem aby data odisli
spat do BLOBu.
A NIE DO SUBORU DOC NA DISK.
// ---
Teraz to posielam spat do BLOBu ako subor doc, ale potrebujem aby
to odislo do BLOBu po tom stlaceni wordovskeho "ulozit"
Kedze s BLOBom viem pracovat ako so streamom, stacilo by uz len NEJAK
povedat tomu Wordu, aby subor ukladal nie do suboru ale do streamu.
A potom to zase nejak v aplikacii odchytit.
Ide to vobec?
Pripadne ako to riesite vy, aby po zmene dokumentu a po stlaceni
"ulozit vo Worde", dokument odisiel HNED do BLObu?

//takto subor z blobu ukladam na disk
var file_temp:string;
    stream_blob:TStream;
    stream_file:TFileStream;
begin
Randomize;
file_temp:=GetWindowsTempFolder+'\xy'+IntToStr(Random(99999))+'.tmp';
stream_blob := tabulka.createblobstream(tabulka.FieldByName('DUKUMENT'),
bmRead);
stream_file := TFileStream.Create(file_temp, fmCreate);
stream_file.CopyFrom(stream_blob,stream_blob.Size);
stream_file.Free;
stream_blob.Free;
 try
  MSWord := GetActiveOleObject('Word.Application');
 except
  try
   MSWord := CreateOleObject('Word.Application');
    except
     ShowMessage('Nepodarilo sa otvorit Microsoft Word.');
     Exit;
  end;
 end;
  MSWord.documents.open(file_temp);
  MSWord.visible := True;
end;


Vdaka.
--
Martin
D7Pro,FB1.5,FibPlus


Odpovedá: konference@sales.cz

11. 6. 2004 18:22

On Behalf Of martin
> doc, ale potrebujem aby to odislo do BLOBu po tom stlaceni
> wordovskeho "ulozit" Kedze s BLOBom viem pracovat ako so

Ahoj.
Taky nezapomen na to, ze uzivatel muze mit nastaveno automaticke
ukladani.
Ja to resil tak, ze jsem hlidal tmp adresar a soubor na zmeny a jakmile
word soubor "pustil" tak jsem ho vkladal do databaze a mazal.

Ludek